﻿var ShareFile = function () {
    function setProgress(precis) {
        var progress = $('#progress');

        progress.toggleClass('active', precis < 100);

        progress.css({
            width: precis = precis.toPrecision(3) + '%'
        }).html('<span>' + precis + '</span>');
    }
    function convertdatatime(data) {
        var value = new Date
                    (
                         parseInt(data.replace(/(^.*\()|([+-].*$)/g, ''))
                    );
        var dat = value.getMonth() +
                                 1 +
                               "/" +
                   value.getDate() +
                               "/" +
               value.getFullYear();
        var datnew = dat.split('/');
        return datnew[1] + '/' + datnew[0] + '/' + datnew[2];
    }
    function resetcontrol() {
        $('#svban').val("");
        $('#tyeu').val("");
        $('#filedinhkem').val("");
    }
    function loadtable(initData) {
        $.ajax({
            url: initData.GetShareFilebyUser,
            type: "GET",
            headers: {
                'VerificationToken': initData.VerificationToken
            },
            dataType: "json",
            success: function (data) {
                if (data.length < 1) {
                    $('#gridContent').hide();
                } else {
                    $('#gridContent').show();
                    $('#body').empty();
                    $.each(data, function (i, v) {
                        var dl = '<tr class="webgrid-row-style">\
                                <td class="clsSTT" style="text-align: center; width: 30px;">\
                                    '+ (i + 1) + '\
                                </td>\
                                <td>\
                                    <div id="spnFullName" class="display-mode">\
                                        <span class="hidden-780 tenbc">' + v.SO_VAN_BAN + '</span>\
                                    </div>\
                                </td>\
                                <td class="clsUserName hidden-480">\
                                    <span  class="display-mode timeline" >\
                                        ' + convertdatatime(v.NGAY_TAO) + '\
                                    </span>\
                                </td>\
                                <td class="clsUserName hidden-480">\
                                    <span  class="display-mode timeline" >\
                                        ' + v.TRICH_YEU + '\
                                    </span>\
                                </td>\
                                    <td class="clsUserName hidden-480">\
                                    <a  class="display-mode timeline getfile" href="/Kehoachnam/Downloadfile?path='+v.VAN_BAN_ID+'"  >\
                                        ' + v.DUONG_DAN_FILE + '\
                                    </a>\
                                </td>\
                                <td class="clsAction">\
                                    <div style="text-align:center;">\
                                        <div class="btn-group">\
                                            <a href="#" data-toggle="dropdown" class="btn btn-lg" style="margin:0px; padding:0px;">\
                                                <div class="label label-info">\
                                                    <i class="fa fa-th"></i>\
                                                </div>\
                                            </a>\
                                            <ul class="dropdown-menu no-angle pull-right right">\
                                            <li>\
                                                <a  class="phanquyen" data="' + v.VAN_BAN_ID + '"  style="cursor:pointer;"><i class="fa fa-users"></i> Phân quyền</a>\
                                            </li>\
                                            <li>\
                                                <a  class="edit" data="' + v.VAN_BAN_ID + '"  style="cursor:pointer;"><i class="fa fa-pencil"></i> Sửa</a>\
                                            </li>\
                                            <li>\
                                                <a  class="delete" data="' + v.VAN_BAN_ID + '"  style="cursor:pointer;"><i class="fa fa-trash-o"></i> Xóa</a>\
                                            </li>\
                                            </ul>\
                                        </div>\
                                    </div>\
                                </td>\
                            </tr>\
                        ';
                        $('#body').append(dl);
                    });
                }
            },
            error: function (jqXHR, textStatus, errorThrown) {
                window.notice('Có lỗi xảy ra trong quá trình lưu thông tin: ' + errorThrown, window.notice_error);
            }
        });
        $.ajax({
            url: initData.GetShareFilebyDonvitruycap,
            type: "GET",
            headers: {
                'VerificationToken': initData.VerificationToken
            },
            dataType: "json",
            success: function (data) {
                if (data.length < 1) {
                    $('#gridContentshare').hide();
                } else {
                    $('#gridContentshare').show();
                    $('#bodyshare').empty();
                    $.each(data, function (i, v) {
                        var dl = '<tr class="webgrid-row-style">\
                                <td class="clsSTT" style="text-align: center; width: 30px;">\
                                    '+ (i + 1) + '\
                                </td>\
                                <td>\
                                    <div id="spnFullName" class="display-mode">\
                                        <span class="hidden-780 tenbc">' + v.NGUOI_SUA + '</span>\
                                    </div>\
                                </td>\
                                <td>\
                                    <div id="spnFullName" class="display-mode">\
                                        <span class="hidden-780 tenbc">' + v.SO_VAN_BAN + '</span>\
                                    </div>\
                                </td>\
                                <td class="clsUserName hidden-480">\
                                    <span  class="display-mode timeline" >\
                                        ' + convertdatatime(v.NGAY_TAO) + '\
                                    </span>\
                                </td>\
                                <td class="clsUserName hidden-480">\
                                    <span  class="display-mode timeline" >\
                                        ' + v.TRICH_YEU + '\
                                    </span>\
                                </td>\
                                    <td class="clsUserName hidden-480">\
                                    <a  class="display-mode timeline getfile" href="/Kehoachnam/Downloadfile?path=' + v.VAN_BAN_ID + '" >\
                                        ' + v.DUONG_DAN_FILE + '\
                                    </a>\
                                </td>\
                            </tr>\
                        ';
                        $('#bodyshare').append(dl);
                    });
                }
            },
            error: function (jqXHR, textStatus, errorThrown) {
                window.notice('Có lỗi xảy ra trong quá trình lưu thông tin: ' + errorThrown, window.notice_error);
            }
        });
    }
    var initLoadData = function (initData) {
        loadtable(initData);
    };
    var initButtonClick = function (initData) {
        $('#Create').live('click', function () {
            $('#Update').hide();
            $('#Upload').show();
            $('#myModalLabel').text('Thêm mới tài liệu !');
            $('#myModal').modal('show');
            $('#progress').css("width", "0%");
            $('#progress').text("0%");
            resetcontrol();
        });
        $("#Upload").click(function () {
            var formData = new FormData();
            var totalFiles = document.getElementById("filedinhkem").files.length;
            for (var i = 0; i < totalFiles; i++) {
                var file = document.getElementById("filedinhkem").files[i];

                formData.append("filedinhkem", file);
            }
            formData.append("sovanban", $('#svban').val());
            formData.append("trichyeu", $('#tyeu').val());
            $.ajax({
                type: "POST",
                url: initData.ShareFileSave,
                data: formData,
                headers: {
                    'VerificationToken': initData.VerificationToken
                },
                dataType: 'json',
                contentType: false,
                processData: false,
                global: false,
                success: function (response) {
                    if (response == true) {
                        window.notice('Bạn đã tạo thành công.', window.notice_success);
                        resetcontrol();
                        $('#myModal').modal('hide');
                        loadtable(initData);
                    } else {
                        window.notice('Bạn đã tạo thất bại !', window.notice_error);
                    }
                },
                error: function (jqXHR, textStatus, errorThrown) {
                    window.notice('Có lỗi xảy ra trong quá trình lưu thông tin hoặc file vượt quá 4MB: ' + errorThrown, window.notice_error);
                },
                progress: function (e) {
                    if (e.lengthComputable) {
                        setProgress(e.loaded / e.total * 100);
                    }
                    else {
                        console.warn('Content Length not reported!');
                    }
                }
            });
        });
        $('.phanquyen').live('click', function () {
            var vanbanid = $(this).attr('data');
            $('#myModalDSDonvi').modal('show');
            $.ajax({
                url: initData.GetAllDV,
                type: "GET",
                headers: {
                    'VerificationToken': initData.VerificationToken
                },
                dataType: "json",
                async: false,
                success: function (data) {
                    $('#body1').empty();
                    $('#body2').empty();
                    var stt = 1;
                    if (data.length > 0) {
                        var mtp = data.length / 2;
                        for (i = 0; i < mtp; i++) {
                            if (data[i].DonViId != initData.DonviID) {
                                var dl = '<tr class="webgrid-row-style">\
                                <td class="clsSTT" style="text-align: center; width: 30px;">\
                                    '+ stt + '\
                                </td>\
                                <td>\
                                    <div id="spnFullName" class="display-mode">\
                                        <span class="hidden-780 tenbc">' + data[i].TenDonVi + '</span>\
                                    </div>\
                                </td>\
                                <td class="clsUserName hidden-480">\
                                    <input type="checkbox" level="3" data-donviid="' + data[i].DonViId + '" data-vbid="' + vanbanid + '" />\
                                   </td>\
                                </tr>\
                            ';
                                stt+=1;
                                $('#body1').append(dl);
                            }
                        }
                        for (j = mtp; j < data.length; j++) {
                            if (data[j].DonViId != initData.DonviID) {
                                var dl = '<tr class="webgrid-row-style">\
                                <td class="clsSTT" style="text-align: center; width: 30px;">\
                                    '+ stt + '\
                                </td>\
                                <td>\
                                    <div id="spnFullName" class="display-mode">\
                                        <span class="hidden-780 tenbc">' + data[j].TenDonVi + '</span>\
                                    </div>\
                                </td>\
                                <td class="clsUserName hidden-480">\
                                    <input type="checkbox" level="4" data-donviid="' + data[j].DonViId + '" data-vbid="' + vanbanid + '" />\
                                   </td>\
                                </tr>\
                            ';
                                stt += 1;
                                $('#body2').append(dl);
                            }
                        }
                    }
                },
                error: function (jqXHR, textStatus, errorThrown) {
                    window.notice('Có lỗi xảy ra trong quá trình lưu thông tin: ' + errorThrown, window.notice_error);
                }
            });
            $.ajax({
                url: initData.GetPhanquynbyVanban,
                type: "GET",
                headers: {
                    'VerificationToken': initData.VerificationToken
                },
                dataType: "json",
                async: false,
                data:{
                    'vanbanid': vanbanid
                },
                success: function (data) {
                    $('input[level="3"]').prop("checked", false);
                    $('input[level="4"]').prop("checked", false);
                    $.each(data, function (i, v) {
                        $('input[level="3"][data-donviid="' + v.DON_VI_TRUY_CAP + '"]').prop("checked", true);
                        $('input[level="4"][data-donviid="' + v.DON_VI_TRUY_CAP + '"]').prop("checked", true);
                    })
                },
                error: function (jqXHR, textStatus, errorThrown) {
                    window.notice('Có lỗi xảy ra trong quá trình lưu thông tin: ' + errorThrown, window.notice_error);
                }
            });

        });
        $('#checkall1').on('click', function () {
            if ($(this).is(':checked')) {
                $('input[level="3"]').each(function () {
                    $(this).prop("checked", true);
                });
            } else {
                $('input[level="3"]').each(function () {
                    $(this).prop("checked", false);
                });
            }
        })
        $('#checkall2').on('click', function () {
            if ($(this).is(':checked')) {
                $('input[level="4"]').each(function () {
                    $(this).prop("checked", true);
                });
            } else {
                $('input[level="4"]').each(function () {
                    $(this).prop("checked", false);
                });
            }
        })
        $('#Savephanquyen').live('click', function () {
            var lstphaquyen = [];
            $('input[level="3"]').each(function () {
                if ($(this).is(':checked')) {
                    var obj = {
                        'VAN_BAN_ID': $(this).attr("data-vbid"),
                        'DON_VI_BAN_HANH': initData.DonviID,
                        'DON_VI_TRUY_CAP': $(this).attr("data-donviid"),
                        'DELETED': 0,
                        'NGUOI_TAO': initData.Username,
                        'NGAY_TAO': '01/01/2001',
                        'NGAY_SUA': '01/01/2001'
                    }
                    lstphaquyen.push(obj);
                }
            });
            $('input[level="4"]').each(function () {
                if ($(this).is(':checked')) {
                    var obj = {
                        'VAN_BAN_ID': $(this).attr("data-vbid"),
                        'DON_VI_BAN_HANH': initData.DonviID,
                        'DON_VI_TRUY_CAP': $(this).attr("data-donviid"),
                        'DELETED': 0,
                        'NGUOI_TAO': initData.Username,
                        'NGAY_TAO': '01/01/2001',
                        'NGAY_SUA': '01/01/2001'
                    }
                    lstphaquyen.push(obj);
                }
            });
            if (lstphaquyen.length > 0) {
                $.ajax({
                    url: initData.SavePhanQuyen,
                    type: "POST",
                    headers: {
                        'VerificationToken': initData.VerificationToken
                    },
                    dataType: "json",
                    data: JSON.stringify({
                        'lst': lstphaquyen,
                    }),
                    contentType: 'application/json',
                    success: function (data) {
                        if (data == true) {
                            $('input[level="3"]').prop("checked", false);
                            $('input[level="4"]').prop("checked", false);
                            $('#myModalDSDonvi').modal('hide');
                            window.notice('Bạn đã phân quyền thành công !', window.notice_success);
                        } else {
                            window.notice('Bạn đã phân quyền thất bại !', window.notice_error);
                        }
                    },
                    error: function (jqXHR, textStatus, errorThrown) {
                        window.notice('Có lỗi xảy ra trong quá trình lưu thông tin: ' + errorThrown, window.notice_error);
                    },
                    complete: function () {
                    }
                });
            }
        });
        $('.edit').live('click', function () {
            var vanbanid = $(this).attr('data');
            $.ajax({
                url: initData.GetShareFilebyId,
                type: "GET",
                headers: {
                    'VerificationToken': initData.VerificationToken
                },
                dataType: "json",
                data: {
                    'id': vanbanid
                },
                success: function (data) {
                    if (data.length > 0) {
                        $('#Update').show();
                        $('#progress').css("width", "0%");
                        $('#progress').text("0%");
                        $('#Upload').hide();
                        $('#myModalLabel').text('Cập nhật tài liệu');
                        $('#svban').val(data[0].SO_VAN_BAN);
                        $('#tyeu').val(data[0].TRICH_YEU);
                        $('#filedinhkem').val("");
                        $('#vanbanid').val(data[0].VAN_BAN_ID);
                        $('#myModal').modal('show');
                    } else {
                        window.notice('Không có dữ liệu !', window.notice_warring);
                    }
                },
                error: function (jqXHR, textStatus, errorThrown) {
                    window.notice('Có lỗi xảy ra trong quá trình lưu thông tin: ' + errorThrown, window.notice_error);
                }
            });
        })
        $("#Update").click(function () {
            var formData = new FormData();
            var totalFiles = document.getElementById("filedinhkem").files.length;
            for (var i = 0; i < totalFiles; i++) {
                var file = document.getElementById("filedinhkem").files[i];

                formData.append("filedinhkem", file);
            }
            formData.append("sovanban", $('#svban').val());
            formData.append("trichyeu", $('#tyeu').val());
            formData.append("vanbanid", $('#vanbanid').val());
            $.ajax({
                type: "POST",
                url: initData.ShareFileUpdate,
                data: formData,
                headers: {
                    'VerificationToken': initData.VerificationToken
                },
                dataType: 'json',
                contentType: false,
                processData: false,
                global: false,
                success: function (response) {
                    if (response == true) {
                        window.notice('Bạn đã cập nhật thành công.', window.notice_success);
                        resetcontrol();
                        $('#myModal').modal('hide');
                        loadtable(initData);

                    } else {
                        window.notice('Bạn đã cập nhật thất bại !', window.notice_error);
                    }
                },
                error: function (jqXHR, textStatus, errorThrown) {
                    window.notice('Có lỗi xảy ra trong quá trình lưu thông tin hoặc file vượt quá 4MB: ' + errorThrown, window.notice_error);
                },
                progress: function (e) {
                    if (e.lengthComputable) {
                        setProgress(e.loaded / e.total * 100);
                    }
                    else {
                        console.warn('Content Length not reported!');
                    }
                }
            });
        });
        $('.delete').live('click', function () {
            var vanbanid = $(this).attr('data');
            var r = confirm("Bạn có chắc muốn xóa tài liệu!");
            if (r == true) {
                $.ajax({
                    url: initData.DeleteShareFile,
                    type: "POST",
                    headers: {
                        'VerificationToken': initData.VerificationToken
                    },
                    dataType: "json",
                    async: false,
                    data: {
                        'id': vanbanid
                    },
                    success: function (response) {
                        if (response == true) {
                            window.notice('Bạn đã xóa thành công.', window.notice_success);
                            loadtable(initData);
                        } else {
                            window.notice('Bạn đã xóa thất bại !', window.notice_error);
                        }
                    },
                    error: function (jqXHR, textStatus, errorThrown) {
                        window.notice('Có lỗi xảy ra trong quá trình lưu thông tin: ' + errorThrown, window.notice_error);
                    }
                });
            }
        })
        $('#Search').on('click', function () {
            $.ajax({
                url: initData.GetShareFilebyUserSearch,
                type: "GET",
                headers: {
                    'VerificationToken': initData.VerificationToken
                },
                dataType: "json",
                data:{
                    'svb': $('#Sovanban').val(),
                    'ngay': $('#ngayhieuluc')
                },
                success: function (data) {
                    if (data.length < 1) {
                        $('#gridContent').hide();
                    } else {
                        $('#gridContent').show();
                        $('#body').empty();
                        $.each(data, function (i, v) {
                            var dl = '<tr class="webgrid-row-style">\
                                <td class="clsSTT" style="text-align: center; width: 30px;">\
                                    '+ (i + 1) + '\
                                </td>\
                                <td>\
                                    <div id="spnFullName" class="display-mode">\
                                        <span class="hidden-780 tenbc">' + v.SO_VAN_BAN + '</span>\
                                    </div>\
                                </td>\
                                <td class="clsUserName hidden-480">\
                                    <span  class="display-mode timeline" >\
                                        ' + convertdatatime(v.NGAY_TAO) + '\
                                    </span>\
                                </td>\
                                <td class="clsUserName hidden-480">\
                                    <span  class="display-mode timeline" >\
                                        ' + v.TRICH_YEU + '\
                                    </span>\
                                </td>\
                                    <td class="clsUserName hidden-480">\
                                    <a  class="display-mode timeline getfile" href="/Kehoachnam/Downloadfile?path='+ v.VAN_BAN_ID + '"  >\
                                        ' + v.DUONG_DAN_FILE + '\
                                    </a>\
                                </td>\
                                <td class="clsAction">\
                                    <div style="text-align:center;">\
                                        <div class="btn-group">\
                                            <a href="#" data-toggle="dropdown" class="btn btn-lg" style="margin:0px; padding:0px;">\
                                                <div class="label label-info">\
                                                    <i class="fa fa-th"></i>\
                                                </div>\
                                            </a>\
                                            <ul class="dropdown-menu no-angle pull-right right">\
                                            <li>\
                                                <a  class="phanquyen" data="' + v.VAN_BAN_ID + '"  style="cursor:pointer;"><i class="fa fa-users"></i> Phân quyền</a>\
                                            </li>\
                                            <li>\
                                                <a  class="edit" data="' + v.VAN_BAN_ID + '"  style="cursor:pointer;"><i class="fa fa-pencil"></i> Sửa</a>\
                                            </li>\
                                            <li>\
                                                <a  class="delete" data="' + v.VAN_BAN_ID + '"  style="cursor:pointer;"><i class="fa fa-trash-o"></i> Xóa</a>\
                                            </li>\
                                            </ul>\
                                        </div>\
                                    </div>\
                                </td>\
                            </tr>\
                        ';
                            $('#body').append(dl);
                        });
                    }
                },
                error: function (jqXHR, textStatus, errorThrown) {
                    window.notice('Có lỗi xảy ra trong quá trình lưu thông tin: ' + errorThrown, window.notice_error);
                }
            });
        })
    };
    return {
        init: function (initData) {
            //load data
            initLoadData(initData);
            initButtonClick(initData);
        }
    }
}();